package com.mhc.suzuki.manager;

import com.mhc.suzuki.bo.CreditQueryApplyBO;
import com.mhc.suzuki.dal.model.CreditQueryApplyDO;
import com.mhc.suzuki.dal.query.CreditQueryApplyQuery;
import com.mhc.suzuki.vo.CreditExcelVO;
import com.subaru.common.query.PageResult;

import java.util.List;


/**
 * Manager for CreditQueryApply.
 */
public interface CreditQueryApplyManager {
  /**
   * query count by query condition.
   */
  int countByQuery(CreditQueryApplyQuery query);

  /**
   * delete by query condition.
   */
  int deleteByQuery(CreditQueryApplyQuery query);

  /**
   * delete by primary key.
   */
  int deleteByPrimaryKey(CreditQueryApplyDO record);

  /**
   * insert selective.
   */
  long insertSelective(CreditQueryApplyDO record);

  /**
   * select by query condition.
   */
  List<CreditQueryApplyDO> selectByQuery(CreditQueryApplyQuery query);


  /**
   * select by query condition with page.
   */
  PageResult<CreditQueryApplyDO> selectByQueryWithPage(CreditQueryApplyQuery query);

  /**
   * select by primary key.
   */
  CreditQueryApplyDO selectByPrimaryKey(Long id);

  /**
   * update by query condition selective.
   */
  int updateByQuerySelective(CreditQueryApplyDO record, CreditQueryApplyQuery query);

  /**
   * update by query condition.
   */
  int updateByQuery(CreditQueryApplyDO record, CreditQueryApplyQuery query);

  /**
   * update by primary key selective.
   */
  int updateByPrimaryKeySelective(CreditQueryApplyDO record);

  List<CreditExcelVO> selectByOrderNOList(List<String> orderNOs);

  /**
   * 获取征信结果详情
   */
  List<CreditQueryApplyBO> selectByCreditInfo(String orderNo);
}
